Many business organizations utilize approval processes that identify cases in which one member of the organization (the “requester”) must submit a request for approval by one or more additional members of the organization (“approvers”). For example, an organization's approval process may require certain members of the organization to obtain approval from their manager, then their manager's manager each time they submit a time sheet recording the hours that they have worked. Typical approval processes may require members of the organization to submit such a request in a variety of other circumstances, such as the following: expense reports, time sheets, time off requests, objectives & reviews, hires, promotions, training requests, incentive compensation requests, contracts, purchase orders, quotes, press releases, and content for web posting.
In a typical organization, some of these types of approval requests are generated manually by the requester, then forwarded on paper or via electronic mail to the appropriate sequence of approvers. For example, transfer requests may be manually generated by requesters, then forwarded to necessary approvers. In such cases, each member of the organization participating in the approval process (the requester and all approvers) must fully understand the approval process specified for requests of this type, and route the request in accordance with this process. For example, a requester generating a transfer request must know that the request must be routed to his or her manager, and so route the request. The requester's manager must approve the request, know that the request must be routed to his or her manager, and so route the request. The requester's manager's manager must approve the request, know that the request must be routed to a particular administrator for further action, and so route the request. This approach requires a significant level of process knowledge and participation by all members involved in the approval process.
Certain types of approval requests may be generated using one of a number of different application programs. For example, a time sheet application may be used to generate time sheets and automatically route them through an approval process, while a separate purchase order application is used to generate purchase orders and automatically route them through an approval process. In such cases, in order for these requests to be automatically routed in this way, one or more approval processes must be created for each application. Such creation is in many cases difficult. For example, the person creating the approval process may be required to write a computer program that implements the approval process in a general-purpose programming language. Further, once an approval process is created for one application, it must be re-created for each additional application with which it is to be used. This may require significant additional effort, as the creation process often varies significantly between applications. In the above example, for instance, the person creating an approval process for the time sheet application may be required to re-create that approval process for the purchase order application.
In view of the substantial shortcomings of the conventional approaches to routing approval requests discussed above, a more effective and user-friendly approach would have significant utility.